Most computing systems tend to include one or more graphics processors to execute graphics (or even general-purpose) instructions. Moreover, in three-dimensional (3D) graphics, some graphics programs (sometimes called shader programs or more generally “shaders”) run at different frequencies, such as per-vertex, per-pixel, etc. These programs may fetch data from memory, such as matrices and texture data. Frequently, the data fetched is uniform across all primitives in a drawing operation. These may be referred to as “constants” (or uniform data) in 3D graphics. Fetching constants from memory within graphics programs causes stalls (or slowdowns) in execution. These stalls are mostly hidden by thread switching and caches. However, when there is an insufficient number of threads to hide the latency to memory, or there is an insufficient amount of cache to hold all the constants, these stalls can degrade the performance of the graphics operations.